﻿module Sustainalytics.Screening {

    export interface IFilter {
        id: string;
        name: string;
        ownerUserId: string;
        shared: boolean;
        rootFilterId: string;
        filterType: FilterType;
        stats: IFilterStatsDto;
        associatedUserId: string;
    };


    export interface ISaveFilterDto {
        filterId: string;
        name: string;
        shared: string;
    }


    export interface IUserFiltersDto {
        userId: string;
        filters: IExtendedFilterDto[];
    };


    export interface IExtendedFilterDto {
        filter: IFilter;
        stats: IFilterStatsDto;
    };


    export interface IFilterStatsDto {
        lastUsed: Date;
        lastSaved: Date;
        createdByFirstName: string;
        createdByLastName: string;
    };


    export enum FilterType {
        Private = 0,
        Shared = 1,
        Standard = 2
    };


    export enum StandardFilter {
        StandardFilter = 0
    }
}